# coding: utf-8

import os

from DBUtils.PooledDB import PooledDB, SharedDBConnection
import pymysql

basedir = os.path.abspath(os.path.dirname(__file__))
print("基础目录: %s" % basedir)


class Config:
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'super-secret'
    ITEMS_PER_PAGE = 10
    JWT_AUTH_URL_RULE = '/api/auth'
    WTF_CSRF_ENABLED = False

    SALT = b"123sdsdf"
    MAX_CONTENT_LENGTH = 1024 * 1024 * 7
    TARGET_PATH = ''
    POOL = PooledDB(
        creator=pymysql,  # 连接数据库模块
        maxconnections=6,  # 链接池允许的最大链接数，0和None表示连接数
        mincached=2,  # 初始化时，连接池中至少创建的空闲链接，0表示不连接
        maxcached=5,  # 连接池中最多限制的链接，0和NONE表示不限制
        maxshared=3,
        blocking=True,  # 连接池中如果没有可以链接后，是否阻塞等待。TRUE等待，FALSE不等待
        maxusage=None,  # 一个链接最多被重复使用的次数，None表示无限制
        setsession=[],  # 开始会话前执行的命令列表如：["set datestyle to ...", "set time zone ..."]
        ping=0,
        host='10.10.10.72',
        port=3306,
        user='root',
        password='123456',
        database='management',
        charset='utf8'
    )

    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@10.10.10.72:3306/test'
    SQLALCHEMY_TRACK_MODIFICATIONS = True
    SQLALCHEMY_ECHO = True


class DevelopmentConfig(Config):
    DEBUG = True


class TestingConfig(Config):
    TESTING = True


class ProductionConfig(Config):
    PRODUCTION = True


config = {
    'development': DevelopmentConfig,
    'testing': TestingConfig,
    'production': ProductionConfig,
    'default': DevelopmentConfig
}
